package ar.uade.distribuidas.tpo.base.dominiodto;

import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;



public class OrdenDePedidoDTO implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private Long numero;
	private String fecha;

	private ClienteDTO cliente;

	private List<ItemPedidoDTO> itemsPedido;

	private CondicionDeVentaDTO condicionVenta;

	public OrdenDePedidoDTO() {
		this.itemsPedido = new LinkedList<ItemPedidoDTO>();
		this.numero = System.currentTimeMillis();
	}

	public List<ItemPedidoDTO> getItemsPedido() {
		return itemsPedido;
	}

	public void setItemsPedido(List<ItemPedidoDTO> itemsPedido) {
		this.itemsPedido = itemsPedido;
	}

	public Long getNumero() {
		return numero;
	}

	public void setNumero(Long long1) {
		this.numero = long1;
	}

	public String getFecha() {
		return fecha;
	}

	public void setFecha(String fecha) {
		this.fecha = fecha;
	}

	public ClienteDTO getCliente() {
		return cliente;
	}

	public void setCliente(ClienteDTO cliente) {
		this.cliente = cliente;
	}

	public CondicionDeVentaDTO getCondicionVenta() {
		return condicionVenta;
	}

	public void setCondicionVenta(CondicionDeVentaDTO condicionVenta) {
		this.condicionVenta = condicionVenta;
	}


	public ItemPedidoDTO getItemPedidoWithRodamiento(Long idRod){
		int i =0;
		while(i<itemsPedido.size()){
			if(itemsPedido.get(i).getRodamientoId() == idRod)
				return itemsPedido.get(i);
			
			i++;
		}
		
		return null;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		OrdenDePedidoDTO other = (OrdenDePedidoDTO) obj;
		if (numero != other.numero)
			return false;
		return true;
	}

	@Override
	public String toString() {
		return "OrdenDePedido [numero=" + numero + ", fecha=" + fecha + ", cliente=" + cliente + ", itemsPedido="
				+ itemsPedido + ", condicionVenta=" + condicionVenta + "]";
	}

}
